// 最大连续子序列（HDU 1231）
// 陈锋
#include <bits/stdc++.h>
/*
d(i)表示以i为结尾的最大连续和,d(i)=max(0,d(i-1))+Ai,
要么包含D[i-1]，要么不包含。
*/
using namespace std;
const int NN = 10004;
int D[NN], A[NN];
int main() {
  for (int n; scanf("%d", &n) == 1 && n;) {
    D[0] = 0;
    for (int i = 1; i <= n; i++) {
      int &a = A[i];
      scanf("%d", &a);              // D[i]: 以i为结尾的子序列和的最大值
      D[i] = max(D[i - 1] + a, a);  // 是否包含A[i]
    }
    int ed_v = A[1], maxd = D[1], ed = 1; 
    for (int i = 1; i <= n; i++) // 最大子序列结束元素及其位置
      if (D[i] > maxd) maxd = D[i], ed_v = A[i], ed = i;

    int st_v = A[ed];  // 开始元素值
    for (int i = ed, s = 0; i > 0 && s < maxd; i--) s += A[i], st_v = A[i];
    if (maxd >= 0) printf("%d %d %d\n", maxd, st_v, ed_v);
    else printf("%d %d %d\n", 0, A[1], A[n]);
  }
  return 0;
}
// 35055939 2021-01-08 14:41:30 Accepted  1231  109MS 1444K 945 B G++ chenwz